package 剑指专题.搜索算法;


/*
 * Author：江松
 * Date：2023/3/29 12:50
 *
 旋转数组中的最小数字：
 1,局部有序，近似二分查找
 */

public class Main3 {
    public int minNumberInRotateArray(int [] array) {
        int l=0,r=array.length-1;
        while(l<=r){
            int mid=((r-l)>>1)+l;
            if(array[mid]>array[r]){
                l=mid+1;
            }else if (array[mid]<array[r]){
                r=mid;
            }else{
                //难以判断在左在右，逐个缩减右区间
                r--;
            }
        }
        return array[l];
    }
}
